#ifndef _SHM_H_
#define _SHM_H_

#include <stdio.h>
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/shm.h>

#define SHM_TAMANIO  1024

class Shm{

    int id;
    void* base;
    int tamanio;

    void map();
    void unmap();

    public:
    Shm(const char* path, int id, int tamanio = SHM_TAMANIO);
    void* getBase();
    int getTamanio();
    void borrar();
    ~Shm();
};

class Ticketera{
    private:
    Shm contador;
    
    public:
    Ticketera(const char* path, int id);
    int siguiente();
    void reset();
};


#endif /* _SHM_H_ */
